package com.sec.android.app.myfiles.module.abstraction;

import android.app.ActionBar;
import android.content.Intent;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import com.sec.android.app.myfiles.fragment.AbsMyFilesFragment;
import com.sec.android.app.myfiles.fragment.AbsMyFilesFragment.ActionModeType;
import com.sec.android.app.myfiles.navigation.NavigationInfo;

public interface IMenuImp {
    void setMenuRes(int menuResId);

    void setActionMenuRes(int menuResId);

    void setInfo(AbsMyFilesFragment fragment, NavigationInfo navigationInfo);

    void onCreateOptionsMenu(Menu menu, MenuInflater inflater, ActionModeType actionMode);

    void onPrepareOptionsMenu(Menu menu, ActionModeType actionMode);

    void onPrepareActionMenu(Menu menu, ActionModeType actionMode);

    boolean onOptionsItemSelected(MenuItem item);

    void setActionBarNormal(ActionBar actionbar);

    boolean onActivityResult(int requestCode, int resultCode, Intent data);

    void onPrepareNormalOptionsMenu(Menu menu);

    void onPrepareEditOptionsMenu(Menu menu);

    void setMenuItemVisibility(Menu menu, int resMenuId, boolean visibility);

    void setMenuItemEnabled(Menu menu, int resMenuId, boolean enabled);

    String getSelectedItemString(int selectedCnt);

    void onPause();


    boolean onContextualItemSelected(MenuItem item, AbsMyFilesFragment fragment, FileRecord record);

    void onCreateContextualMenu(ContextMenu menu, AbsMyFilesFragment fragment, FileRecord record);

    void onUpdateSelectLayoutMenu(Menu menu, NavigationInfo navigationInfo);

    String getActionBarTitle();
}
